using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using ControladorDifuso.Conjunto;

namespace ControladorDifuso.Implicaciones
{
    public abstract class Implicacion
    {
        protected IPertenencia antecedente;
        protected ConjuntoDifuso consecuente;

        public IPertenencia Antecedente
        {
            get
            {
                return this.antecedente;
            }
            set
            {
                this.antecedente = value;
            }
        }

        public ConjuntoDifuso Consecuente
        {
            get
            {
                return this.consecuente;
            }
            set
            {
                this.consecuente = value;
            }
        }

        public abstract decimal calcularPertinenciaPunto();

        public Implicacion (IPertenencia antecedente,ConjuntoDifuso consecuente)
        {
            this.antecedente = antecedente;
            this.consecuente = consecuente;
        }
        public override string ToString()
        {
            return this.Antecedente.ToString() + " entonces " + this.Consecuente.ToString();
        }
    }
}
